/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.infor.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.google.common.collect.Lists;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 项目Entity
 * @author 李超辉
 * @version 2017-11-22
 */
public class Project extends DataEntity<Project> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// 项目名称
	private String contractCode;		// 合同编号
	private String contractName;		// 合同名称
	private String cycle;		// 结算周期
	private Date effectiveDate;		// 失效日期
	private Date expirationDate;		// 生效日期
	private String appointment;		// 合同主要约定
	private List<MileageScale> mileageScaleList = Lists.newArrayList();		// 子表列表
	private List<SettlementMode> settlementModeList = Lists.newArrayList();		// 子表列表
	private List<SettlementType> settlementTypeList = Lists.newArrayList();		// 子表列表
	private List<Template> templateList = Lists.newArrayList();		// 子表列表
	private List<TrafficScale> trafficScaleList = Lists.newArrayList();		// 子表列表
	
	public Project() {
		super();
	}

	public Project(String id){
		super(id);
	}

	@ExcelField(title="项目名称", align=2, sort=6)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@ExcelField(title="合同编号", align=2, sort=7)
	public String getContractCode() {
		return contractCode;
	}

	public void setContractCode(String contractCode) {
		this.contractCode = contractCode;
	}
	
	@ExcelField(title="合同名称", align=2, sort=8)
	public String getContractName() {
		return contractName;
	}

	public void setContractName(String contractName) {
		this.contractName = contractName;
	}
	
	@ExcelField(title="结算周期", align=2, sort=9)
	public String getCycle() {
		return cycle;
	}

	public void setCycle(String cycle) {
		this.cycle = cycle;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="失效日期", align=2, sort=10)
	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="生效日期", align=2, sort=11)
	public Date getExpirationDate() {
		return expirationDate;
	}

	public void setExpirationDate(Date expirationDate) {
		this.expirationDate = expirationDate;
	}
	
	@ExcelField(title="合同主要约定", align=2, sort=12)
	public String getAppointment() {
		return appointment;
	}

	public void setAppointment(String appointment) {
		this.appointment = appointment;
	}
	
	public List<MileageScale> getMileageScaleList() {
		return mileageScaleList;
	}

	public void setMileageScaleList(List<MileageScale> mileageScaleList) {
		this.mileageScaleList = mileageScaleList;
	}
	public List<SettlementMode> getSettlementModeList() {
		return settlementModeList;
	}

	public void setSettlementModeList(List<SettlementMode> settlementModeList) {
		this.settlementModeList = settlementModeList;
	}
	public List<SettlementType> getSettlementTypeList() {
		return settlementTypeList;
	}

	public void setSettlementTypeList(List<SettlementType> settlementTypeList) {
		this.settlementTypeList = settlementTypeList;
	}
	public List<Template> getTemplateList() {
		return templateList;
	}

	public void setTemplateList(List<Template> templateList) {
		this.templateList = templateList;
	}
	public List<TrafficScale> getTrafficScaleList() {
		return trafficScaleList;
	}

	public void setTrafficScaleList(List<TrafficScale> trafficScaleList) {
		this.trafficScaleList = trafficScaleList;
	}
}